<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSD1306 OLED display driver: lcd/lcd_common.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SSD1306 OLED display driver
   &#160;<span id="projectnumber">1.8.2</span>
   </div>
   <div id="projectbrief">This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_7539740a674fe554df3e16c8629ce56f.html">lcd</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">lcd_common.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="lcd__common_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    MIT License</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    Copyright (c) 2017-2019, Alexey Dynda</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    Permission is hereby granted, free of charge, to any person obtaining a copy</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    of this software and associated documentation files (the &quot;Software&quot;), to deal</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    in the Software without restriction, including without limitation the rights</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    copies of the Software, and to permit persons to whom the Software is</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">    furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    copies or substantial portions of the Software.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">    SOFTWARE.</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef _LCD_COMMON_H_</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define _LCD_COMMON_H_</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="io_8h.html">ssd1306_hal/io.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaf4b71961185e1fa00ee5962123a349ae">   50</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aead95a2d5ef67df02a85a1bc3bff5129a4">   53</a></span>&#160;    <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aead95a2d5ef67df02a85a1bc3bff5129a4">LCD_TYPE_SSD1306</a>,</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea846490e1ce898baebea443873c666786">   55</a></span>&#160;    <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea846490e1ce898baebea443873c666786">LCD_TYPE_PCD8544</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aeaecd840f4bc28d78905c61044b139e73c">   57</a></span>&#160;    <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aeaecd840f4bc28d78905c61044b139e73c">LCD_TYPE_SH1106</a>,</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea332304434dfd968714082cb92fc85d33">   59</a></span>&#160;    <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea332304434dfd968714082cb92fc85d33">LCD_TYPE_SSD1331</a>,</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea7f073223bcb6fab923d8da961abc1a7d">   61</a></span>&#160;    <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea7f073223bcb6fab923d8da961abc1a7d">LCD_TYPE_CUSTOM</a>,</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;} <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaf4b71961185e1fa00ee5962123a349ae">lcd_type_t</a>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">   69</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596afa76104458f5903f6b3083d2805d9432">   75</a></span>&#160;    <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596afa76104458f5903f6b3083d2805d9432">LCD_MODE_NORMAL</a> = 0,</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596a0abbc336593d4d93d9054fa2340c214b">   82</a></span>&#160;    <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596a0abbc336593d4d93d9054fa2340c214b">LCD_MODE_SSD1306_COMPAT</a> = 1,</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">lcd_mode_t</a>;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html">   88</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;{</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#aabe73540a354c4f959e4fe862167b482">   91</a></span>&#160;    lcd_type_t <a class="code" href="structssd1306__lcd__t.html#aabe73540a354c4f959e4fe862167b482">type</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#a0c7d9e9ee7e3d36391e55731b0ebc516">   94</a></span>&#160;    lcduint_t  <a class="code" href="structssd1306__lcd__t.html#a0c7d9e9ee7e3d36391e55731b0ebc516">width</a>;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#af576fdaf144fefdb8e278ca3cb90f49e">   97</a></span>&#160;    lcduint_t  <a class="code" href="structssd1306__lcd__t.html#af576fdaf144fefdb8e278ca3cb90f49e">height</a>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#a6429922cc1a9ea852a3152c1942b1d73">  114</a></span>&#160;    void (*set_block)(lcduint_t x, lcduint_t y, lcduint_t w);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#ae7513c1cb9a358f0d333b5ca73c3b7a7">  122</a></span>&#160;    void (*next_page)(void);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#aeb7e3e36bd3480388976f8c4e1ab9adf">  128</a></span>&#160;    void (*send_pixels1)(uint8_t data);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#a7ceb1ea335b937f01a45c2e3529db48c">  135</a></span>&#160;    void (*send_pixels_buffer1)(<span class="keyword">const</span> uint8_t *buffer, uint16_t len);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#a881f5629ba5b0e9b4d89a1a176ce2668">  142</a></span>&#160;    void (*send_pixels8)(uint8_t data);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#a409b80d44b201f777b8bb6a34df4288e">  149</a></span>&#160;    void (*send_pixels16)(uint16_t data);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="structssd1306__lcd__t.html#abace095df95cc15051f0fcb6e44522c7">  164</a></span>&#160;    void (*set_mode)(<a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">lcd_mode_t</a> mode);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;} <a class="code" href="structssd1306__lcd__t.html">ssd1306_lcd_t</a>;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <a class="code" href="structssd1306__lcd__t.html">ssd1306_lcd_t</a> <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaddd9cfaaeac4d2937f5372313ddaee4f">ssd1306_lcd</a>;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga797782e83352e151d9be10883b5d4660">  176</a></span>&#160;<span class="preprocessor">#define s_displayHeight   ssd1306_lcd.height</span></div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaecbd3a122e1a8388df911787003a9e4c">  182</a></span>&#160;<span class="preprocessor">#define s_displayWidth    ssd1306_lcd.width</span></div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga3ff73af72a351c4c58805f14a6d7e42e">  188</a></span>&#160;<span class="preprocessor">#define g_lcd_type  ssd1306_lcd.type</span></div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keywordtype">void</span>         <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga223fdc8edd9172690f961922f46d330c">ssd1306_sendData</a>(uint8_t data) __attribute__ ((deprecated));</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga13280d5cffa007c2a3ee87adbe823e41">  215</a></span>&#160;<span class="preprocessor">#define ssd1306_setRamBlock   ssd1306_lcd.set_block</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaaa196dbcff70f891213236cb2e25b50a">  224</a></span>&#160;<span class="preprocessor">#define ssd1306_nextRamPage   ssd1306_lcd.next_page</span></div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gac8314a54a45cc4376a8531fac45ca7c2">  231</a></span>&#160;<span class="preprocessor">#define ssd1306_sendPixels    ssd1306_lcd.send_pixels1</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2d894db460f96246bcedd570808bb04">  239</a></span>&#160;<span class="preprocessor">#define ssd1306_sendPixelsBuffer  ssd1306_lcd.send_pixels_buffer1</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga7245c64d758f2243621ec48ffa551945">  247</a></span>&#160;<span class="preprocessor">#define ssd1306_sendPixel8        ssd1306_lcd.send_pixels8</span></div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga32e8830f08974692041d504b59cec89f">ssd1306_configureI2cDisplay</a>(<span class="keyword">const</span> uint8_t *config, uint8_t configSize);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga0bf5b2ac6a6f9645505c0ba73279cd05">ssd1306_configureSpiDisplay</a>(<span class="keyword">const</span> uint8_t *config, uint8_t configSize);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga6b6a7c25c51c2f4d4546c85985bdb7d9">ssd1306_configureSpiDisplay2</a>(<span class="keyword">const</span> uint8_t *config, uint8_t configSize);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga34699d9f6192c375a6b40d4414502d41">ssd1306_setMode</a>(<a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">lcd_mode_t</a> mode);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga2c9a4cae483acc0afd549c59a9946ef3">ssd1306_resetController</a>(int8_t rstPin, uint8_t delayMs);</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gac463703c9f8a874c2b533284d421364e">  330</a></span>&#160;<span class="preprocessor">#define SSD1306_COMPAT_SPI_BLOCK_8BIT_CMDS(column_cmd, row_cmd) \</span></div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">    static uint8_t __s_column; \</span></div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">    static uint8_t __s_page; \</span></div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">    static void set_block_compat(lcduint_t x, lcduint_t y, lcduint_t w) \</span></div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor">        uint8_t rx = w ? (x + w - 1) : (ssd1306_lcd.width - 1); \</span></div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor">        __s_column = x; \</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="preprocessor">        __s_page = y; \</span></div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor">        ssd1306_intf.start(); \</span></div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">        ssd1306_spiDataMode(0); \</span></div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">        ssd1306_intf.send(column_cmd); \</span></div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">        ssd1306_intf.send(x); \</span></div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">        ssd1306_intf.send(rx &lt; ssd1306_lcd.width ? rx : (ssd1306_lcd.width - 1)); \</span></div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">        ssd1306_intf.send(row_cmd); \</span></div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">        ssd1306_intf.send(y&lt;&lt;3); \</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">        ssd1306_intf.send(((y&lt;&lt;3) + 7) &lt; ssd1306_lcd.height ? ((y&lt;&lt;3) + 7) : (ssd1306_lcd.height - 1)); \</span></div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">        ssd1306_spiDataMode(1); \</span></div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor">    static void next_page_compat(void) \</span></div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor">        ssd1306_intf.stop(); \</span></div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">        set_block_compat(__s_column,__s_page+1,0); \</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor"></span></div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga9d0d908bfa8476c33a85718bb1281f83">  366</a></span>&#160;<span class="preprocessor">#define CONTROLLER_NATIVE_SPI_BLOCK_8BIT_CMDS(column_cmd, row_cmd) \</span></div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">    static void set_block_native(lcduint_t x, lcduint_t y, lcduint_t w) \</span></div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">        uint8_t rx = w ? (x + w - 1) : (ssd1306_lcd.width - 1); \</span></div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor">        ssd1306_intf.start(); \</span></div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">        ssd1306_spiDataMode(0); \</span></div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">        ssd1306_intf.send(column_cmd); \</span></div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor">        ssd1306_intf.send(x); \</span></div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="preprocessor">        ssd1306_intf.send(rx &lt; ssd1306_lcd.width ? rx : (ssd1306_lcd.width - 1)); \</span></div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">        ssd1306_intf.send(row_cmd); \</span></div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">        ssd1306_intf.send(y); \</span></div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">        ssd1306_intf.send(ssd1306_lcd.height - 1); \</span></div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">        ssd1306_spiDataMode(1); \</span></div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">    static void next_page_native(void) \</span></div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor"></span></div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gabd2a002504a9944d72166af553d0b8ec">  390</a></span>&#160;<span class="preprocessor">#define SSD1306_COMPAT_SEND_PIXELS_RGB8_CMDS() \</span></div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">    extern uint16_t ssd1306_color; \</span></div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">    static void send_pixels_compat(uint8_t data) \</span></div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor">        for (uint8_t i=8; i&gt;0; i--) \</span></div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">        { \</span></div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor">            if ( data &amp; 0x01 ) \</span></div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">            { \</span></div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">                ssd1306_intf.send( (uint8_t)ssd1306_color ); \</span></div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">            } \</span></div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor">            else \</span></div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="preprocessor">            { \</span></div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">                ssd1306_intf.send( 0B00000000 ); \</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">            } \</span></div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">            data &gt;&gt;= 1; \</span></div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">        } \</span></div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor">    static void send_pixels_buffer_compat(const uint8_t *buffer, uint16_t len) \</span></div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor">        while(len--) \</span></div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor">        { \</span></div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">            send_pixels_compat(*buffer); \</span></div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">            buffer++; \</span></div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">        } \</span></div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">    }</span></div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaac9ef7e17696eb974902f294c38e74f4">  422</a></span>&#160;<span class="preprocessor">#define SSD1306_COMPAT_SEND_PIXELS_RGB16_CMDS() \</span></div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="preprocessor">    extern uint16_t ssd1306_color; \</span></div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor">    static void send_pixels_compat16(uint8_t data) \</span></div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor">        for (uint8_t i=8; i&gt;0; i--) \</span></div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="preprocessor">        { \</span></div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="preprocessor">            if ( data &amp; 0x01 ) \</span></div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="preprocessor">            { \</span></div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor">                ssd1306_intf.send( (uint8_t)(ssd1306_color &gt;&gt; 8 ) ); \</span></div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">                ssd1306_intf.send( (uint8_t)(ssd1306_color &amp; 0xFF) ); \</span></div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="preprocessor">            } \</span></div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor">            else \</span></div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor">            { \</span></div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="preprocessor">                ssd1306_intf.send( 0B00000000 ); \</span></div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="preprocessor">                ssd1306_intf.send( 0B00000000 ); \</span></div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor">            } \</span></div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="preprocessor">            data &gt;&gt;= 1; \</span></div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="preprocessor">        } \</span></div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">    } \</span></div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">    static void send_pixels_buffer_compat16(const uint8_t *buffer, uint16_t len) \</span></div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">    { \</span></div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">        while(len--) \</span></div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">        { \</span></div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">            send_pixels_compat16(*buffer); \</span></div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="preprocessor">            buffer++; \</span></div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">        } \</span></div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">    }</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;}</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _LCD_COMMON_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ga6b6a7c25c51c2f4d4546c85985bdb7d9"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga6b6a7c25c51c2f4d4546c85985bdb7d9">ssd1306_configureSpiDisplay2</a></div><div class="ttdeci">void ssd1306_configureSpiDisplay2(const uint8_t *config, uint8_t configSize)</div><div class="ttdoc">Sends configuration being passed to lcd display spi controller. </div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8c_source.html#l00075">lcd_common.c:75</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ga34699d9f6192c375a6b40d4414502d41"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga34699d9f6192c375a6b40d4414502d41">ssd1306_setMode</a></div><div class="ttdeci">void ssd1306_setMode(lcd_mode_t mode)</div><div class="ttdoc">Sets library display mode for direct draw functions. </div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8c_source.html#l00131">lcd_common.c:131</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ga0bf5b2ac6a6f9645505c0ba73279cd05"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga0bf5b2ac6a6f9645505c0ba73279cd05">ssd1306_configureSpiDisplay</a></div><div class="ttdeci">void ssd1306_configureSpiDisplay(const uint8_t *config, uint8_t configSize)</div><div class="ttdoc">Sends configuration being passed to lcd display spi controller. </div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8c_source.html#l00053">lcd_common.c:53</a></div></div>
<div class="ttc" id="structssd1306__lcd__t_html"><div class="ttname"><a href="structssd1306__lcd__t.html">ssd1306_lcd_t</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00088">lcd_common.h:88</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ggad2c71a26fa32dfcee88db3a3058ce596afa76104458f5903f6b3083d2805d9432"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596afa76104458f5903f6b3083d2805d9432">LCD_MODE_NORMAL</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00075">lcd_common.h:75</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ga32e8830f08974692041d504b59cec89f"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga32e8830f08974692041d504b59cec89f">ssd1306_configureI2cDisplay</a></div><div class="ttdeci">void ssd1306_configureI2cDisplay(const uint8_t *config, uint8_t configSize)</div><div class="ttdoc">Sends configuration being passed to lcd display i2c/spi controller. </div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8c_source.html#l00042">lcd_common.c:42</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ggaf4b71961185e1fa00ee5962123a349aead95a2d5ef67df02a85a1bc3bff5129a4"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aead95a2d5ef67df02a85a1bc3bff5129a4">LCD_TYPE_SSD1306</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00053">lcd_common.h:53</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ggaf4b71961185e1fa00ee5962123a349aea846490e1ce898baebea443873c666786"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea846490e1ce898baebea443873c666786">LCD_TYPE_PCD8544</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00055">lcd_common.h:55</a></div></div>
<div class="ttc" id="io_8h_html"><div class="ttname"><a href="io_8h.html">io.h</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_gad2c71a26fa32dfcee88db3a3058ce596"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">lcd_mode_t</a></div><div class="ttdeci">lcd_mode_t</div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00069">lcd_common.h:69</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ga2c9a4cae483acc0afd549c59a9946ef3"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga2c9a4cae483acc0afd549c59a9946ef3">ssd1306_resetController</a></div><div class="ttdeci">void ssd1306_resetController(int8_t rstPin, uint8_t delayMs)</div><div class="ttdoc">Does hardware reset for oled controller. </div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8c_source.html#l00139">lcd_common.c:139</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_gaddd9cfaaeac4d2937f5372313ddaee4f"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaddd9cfaaeac4d2937f5372313ddaee4f">ssd1306_lcd</a></div><div class="ttdeci">ssd1306_lcd_t ssd1306_lcd</div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8c_source.html#l00033">lcd_common.c:33</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ggad2c71a26fa32dfcee88db3a3058ce596a0abbc336593d4d93d9054fa2340c214b"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596a0abbc336593d4d93d9054fa2340c214b">LCD_MODE_SSD1306_COMPAT</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00082">lcd_common.h:82</a></div></div>
<div class="ttc" id="structssd1306__lcd__t_html_af576fdaf144fefdb8e278ca3cb90f49e"><div class="ttname"><a href="structssd1306__lcd__t.html#af576fdaf144fefdb8e278ca3cb90f49e">ssd1306_lcd_t::height</a></div><div class="ttdeci">lcduint_t height</div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00097">lcd_common.h:97</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ggaf4b71961185e1fa00ee5962123a349aeaecd840f4bc28d78905c61044b139e73c"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aeaecd840f4bc28d78905c61044b139e73c">LCD_TYPE_SH1106</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00057">lcd_common.h:57</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ga223fdc8edd9172690f961922f46d330c"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ga223fdc8edd9172690f961922f46d330c">ssd1306_sendData</a></div><div class="ttdeci">void ssd1306_sendData(uint8_t data) __attribute__((deprecated))</div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8c_source.html#l00035">lcd_common.c:35</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ggaf4b71961185e1fa00ee5962123a349aea7f073223bcb6fab923d8da961abc1a7d"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea7f073223bcb6fab923d8da961abc1a7d">LCD_TYPE_CUSTOM</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00061">lcd_common.h:61</a></div></div>
<div class="ttc" id="structssd1306__lcd__t_html_a0c7d9e9ee7e3d36391e55731b0ebc516"><div class="ttname"><a href="structssd1306__lcd__t.html#a0c7d9e9ee7e3d36391e55731b0ebc516">ssd1306_lcd_t::width</a></div><div class="ttdeci">lcduint_t width</div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00094">lcd_common.h:94</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_gaf4b71961185e1fa00ee5962123a349ae"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaf4b71961185e1fa00ee5962123a349ae">lcd_type_t</a></div><div class="ttdeci">lcd_type_t</div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00050">lcd_common.h:50</a></div></div>
<div class="ttc" id="structssd1306__lcd__t_html_aabe73540a354c4f959e4fe862167b482"><div class="ttname"><a href="structssd1306__lcd__t.html#aabe73540a354c4f959e4fe862167b482">ssd1306_lcd_t::type</a></div><div class="ttdeci">lcd_type_t type</div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00091">lcd_common.h:91</a></div></div>
<div class="ttc" id="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i_html_ggaf4b71961185e1fa00ee5962123a349aea332304434dfd968714082cb92fc85d33"><div class="ttname"><a href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggaf4b71961185e1fa00ee5962123a349aea332304434dfd968714082cb92fc85d33">LCD_TYPE_SSD1331</a></div><div class="ttdef"><b>Definition:</b> <a href="lcd__common_8h_source.html#l00059">lcd_common.h:59</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
